<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>libslic3r: src/libslic3r/Point.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="Slic3r_192px_transparent.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">libslic3r
   </div>
   <div id="projectbrief">Library for generating gcode from 3d models</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_f69e6fbaea45487e96bc9ed8ccf9ff8f.html">libslic3r</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">Point.hpp</div>  </div>
</div><!--header-->
<div class="contents">
<a href="_point_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#ifndef slic3r_Point_hpp_</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#define slic3r_Point_hpp_</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="libslic3r_8h.html">libslic3r.h</a>&quot;</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="preprocessor">#include &lt;math.h&gt;</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#include &lt;sstream&gt;</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespace_slic3r.html">Slic3r</a> {</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="keyword">class </span><a class="code" href="class_slic3r_1_1_line.html">Line</a>;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="keyword">class </span><a class="code" href="class_slic3r_1_1_linef.html">Linef</a>;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="keyword">class </span><a class="code" href="class_slic3r_1_1_multi_point.html">MultiPoint</a>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="keyword">class </span><a class="code" href="class_slic3r_1_1_point.html">Point</a>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="keyword">class </span><a class="code" href="class_slic3r_1_1_pointf.html">Pointf</a>;</div><div class="line"><a name="l00017"></a><span class="lineno"><a class="line" href="namespace_slic3r.html#a3c29f6a054e92664e6b8d1f458252dab">   17</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_slic3r_1_1_pointf3.html">Pointf3</a>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="keyword">typedef</span> <a class="code" href="class_slic3r_1_1_point.html">Point</a> <a class="code" href="namespace_slic3r.html#a3c29f6a054e92664e6b8d1f458252dab">Vector</a>;</div><div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="namespace_slic3r.html#a5c413ee3f91e2e712c7d741f8d96adfd">   19</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="class_slic3r_1_1_pointf.html">Pointf</a> <a class="code" href="namespace_slic3r.html#a5c413ee3f91e2e712c7d741f8d96adfd">Vectorf</a>;</div><div class="line"><a name="l00020"></a><span class="lineno"><a class="line" href="namespace_slic3r.html#a96d7834529e8e477798befb6be229d27">   20</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="class_slic3r_1_1_pointf3.html">Pointf3</a> <a class="code" href="namespace_slic3r.html#a96d7834529e8e477798befb6be229d27">Vectorf3</a>;</div><div class="line"><a name="l00021"></a><span class="lineno"><a class="line" href="namespace_slic3r.html#a47d04f71423ecef9ad36e18046f11c3c">   21</a></span>&#160;<span class="keyword">typedef</span> std::vector&lt;Point&gt; <a class="code" href="namespace_slic3r.html#a47d04f71423ecef9ad36e18046f11c3c">Points</a>;</div><div class="line"><a name="l00022"></a><span class="lineno"><a class="line" href="namespace_slic3r.html#ab4ae165062274afc765e0460eedff643">   22</a></span>&#160;<span class="keyword">typedef</span> std::vector&lt;Point*&gt; <a class="code" href="namespace_slic3r.html#ab4ae165062274afc765e0460eedff643">PointPtrs</a>;</div><div class="line"><a name="l00023"></a><span class="lineno"><a class="line" href="namespace_slic3r.html#ae83d5e833b46f569677f20a103981cfa">   23</a></span>&#160;<span class="keyword">typedef</span> std::vector&lt;const Point*&gt; <a class="code" href="namespace_slic3r.html#ae83d5e833b46f569677f20a103981cfa">PointConstPtrs</a>;</div><div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="namespace_slic3r.html#af371c2c21f879fac0a0c172a992df9a5">   24</a></span>&#160;<span class="keyword">typedef</span> std::vector&lt;Pointf&gt; <a class="code" href="namespace_slic3r.html#af371c2c21f879fac0a0c172a992df9a5">Pointfs</a>;</div><div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="namespace_slic3r.html#a3e902317d6a5dd562530764ca117df76">   25</a></span>&#160;<span class="keyword">typedef</span> std::vector&lt;Pointf3&gt; <a class="code" href="namespace_slic3r.html#a3e902317d6a5dd562530764ca117df76">Pointf3s</a>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_point.html">   27</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_slic3r_1_1_point.html">Point</a></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;{</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_point.html#ada2d925480aeabf74d98f8958c8b3bc0">   30</a></span>&#160;    <a class="code" href="namespace_slic3r.html#ab6d77625bc973b0c03e577944f90f297">coord_t</a> <a class="code" href="class_slic3r_1_1_point.html#ada2d925480aeabf74d98f8958c8b3bc0">x</a>;</div><div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_point.html#aeecab494b1d3f141a92e43fcca482d5e">   31</a></span>&#160;    <a class="code" href="namespace_slic3r.html#ab6d77625bc973b0c03e577944f90f297">coord_t</a> <a class="code" href="class_slic3r_1_1_point.html#aeecab494b1d3f141a92e43fcca482d5e">y</a>;</div><div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_point.html#aec10aaba6550e6c7fe7571cb7b5379cc">   32</a></span>&#160;    <a class="code" href="class_slic3r_1_1_point.html#aec10aaba6550e6c7fe7571cb7b5379cc">Point</a>(<a class="code" href="namespace_slic3r.html#ab6d77625bc973b0c03e577944f90f297">coord_t</a> _x = 0, <a class="code" href="namespace_slic3r.html#ab6d77625bc973b0c03e577944f90f297">coord_t</a> _y = 0): x(_x), y(_y) {};</div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_point.html#a6c8f509c222a8dba482119b275d5c81c">   33</a></span>&#160;    <a class="code" href="class_slic3r_1_1_point.html#a6c8f509c222a8dba482119b275d5c81c">Point</a>(<span class="keywordtype">int</span> _x, <span class="keywordtype">int</span> _y): x(_x), y(_y) {};</div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_point.html#a400f8fbb88318f8f81656b5fc75f73fd">   34</a></span>&#160;    <a class="code" href="class_slic3r_1_1_point.html#a400f8fbb88318f8f81656b5fc75f73fd">Point</a>(<span class="keywordtype">long</span> <span class="keywordtype">long</span> _x, <span class="keywordtype">long</span> <span class="keywordtype">long</span> _y): x(_x), y(_y) {};  <span class="comment">// for Clipper</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    <a class="code" href="class_slic3r_1_1_point.html#aec10aaba6550e6c7fe7571cb7b5379cc">Point</a>(<span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y);</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_point.html#a518d45ac28e86f98cefaaddc104ecc86">   36</a></span>&#160;    <span class="keyword">static</span> <a class="code" href="class_slic3r_1_1_point.html">Point</a> <a class="code" href="class_slic3r_1_1_point.html#a518d45ac28e86f98cefaaddc104ecc86">new_scale</a>(<a class="code" href="namespace_slic3r.html#a2ac5c755948c74f5f5f975acd5057fe9">coordf_t</a> x, <a class="code" href="namespace_slic3r.html#a2ac5c755948c74f5f5f975acd5057fe9">coordf_t</a> y) {</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="class_slic3r_1_1_point.html#aec10aaba6550e6c7fe7571cb7b5379cc">Point</a>(<a class="code" href="namespace_slic3r.html#a9a0d9b5718fd26081d3fc9f143f2b246">scale_</a>(x), <a class="code" href="namespace_slic3r.html#a9a0d9b5718fd26081d3fc9f143f2b246">scale_</a>(y));</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    };</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_slic3r_1_1_point.html#ad44802f6ac04cb668f51b555fd7177b0">operator==</a>(<span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_point.html">Point</a>&amp; rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    std::string <a class="code" href="class_slic3r_1_1_point.html#ab210c560e913418a9b5b2ac36804e794">wkt</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    std::string <a class="code" href="class_slic3r_1_1_point.html#aa5f28dafa3ab6728ec0aaf12a9956f4a">dump_perl</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_slic3r_1_1_point.html#ab01b93063b231c56f088add2828cb6ea">scale</a>(<span class="keywordtype">double</span> factor);</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_slic3r_1_1_point.html#a94c89c04f92ad8c31262a44f54775044">translate</a>(<span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y);</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_slic3r_1_1_point.html#a94c89c04f92ad8c31262a44f54775044">translate</a>(<span class="keyword">const</span> Vector &amp;vector);</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_slic3r_1_1_point.html#ac5f02ebf51115dce2e482a4ce121d434">rotate</a>(<span class="keywordtype">double</span> angle);</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_slic3r_1_1_point.html#ac5f02ebf51115dce2e482a4ce121d434">rotate</a>(<span class="keywordtype">double</span> angle, <span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_point.html">Point</a> &amp;center);</div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_point.html#a20ddf5c3f5c63538bff60f2e6016cf5e">   47</a></span>&#160;    <a class="code" href="class_slic3r_1_1_point.html">Point</a> <a class="code" href="class_slic3r_1_1_point.html#a20ddf5c3f5c63538bff60f2e6016cf5e">rotated</a>(<span class="keywordtype">double</span> angle)<span class="keyword"> const </span>{</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;        <a class="code" href="class_slic3r_1_1_point.html">Point</a> p(*<span class="keyword">this</span>);</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;        p.<a class="code" href="class_slic3r_1_1_point.html#ac5f02ebf51115dce2e482a4ce121d434">rotate</a>(angle);</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;        <span class="keywordflow">return</span> p;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    }</div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_point.html#ad211ac45fa6ffba2ae2bbd5f6079109f">   52</a></span>&#160;    <a class="code" href="class_slic3r_1_1_point.html">Point</a> <a class="code" href="class_slic3r_1_1_point.html#ad211ac45fa6ffba2ae2bbd5f6079109f">rotated</a>(<span class="keywordtype">double</span> angle, <span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_point.html">Point</a> &amp;center)<span class="keyword"> const </span>{</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;        <a class="code" href="class_slic3r_1_1_point.html">Point</a> p(*<span class="keyword">this</span>);</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;        p.<a class="code" href="class_slic3r_1_1_point.html#ac5f02ebf51115dce2e482a4ce121d434">rotate</a>(angle, center);</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;        <span class="keywordflow">return</span> p;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    }</div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_point.html#a8c0c712111ffbe0886adefed480813bf">   57</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_slic3r_1_1_point.html#a8c0c712111ffbe0886adefed480813bf">coincides_with</a>(<span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_point.html">Point</a> &amp;point)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> this-&gt;x == point.<a class="code" href="class_slic3r_1_1_point.html#ada2d925480aeabf74d98f8958c8b3bc0">x</a> &amp;&amp; this-&gt;y == point.<a class="code" href="class_slic3r_1_1_point.html#aeecab494b1d3f141a92e43fcca482d5e">y</a>; }</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_slic3r_1_1_point.html#a905d7664022b039f9327056523c2018b">coincides_with_epsilon</a>(<span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_point.html">Point</a> &amp;point) <span class="keyword">const</span>;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_slic3r_1_1_point.html#a85ef238a19d555195ad0a9229d04b04f">nearest_point_index</a>(<span class="keyword">const</span> Points &amp;points) <span class="keyword">const</span>;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_slic3r_1_1_point.html#a85ef238a19d555195ad0a9229d04b04f">nearest_point_index</a>(<span class="keyword">const</span> PointConstPtrs &amp;points) <span class="keyword">const</span>;</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_slic3r_1_1_point.html#a85ef238a19d555195ad0a9229d04b04f">nearest_point_index</a>(<span class="keyword">const</span> PointPtrs &amp;points) <span class="keyword">const</span>;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    <span class="keywordtype">size_t</span> <a class="code" href="class_slic3r_1_1_point.html#a364726db73db2ce792490c2825072139">nearest_waypoint_index</a>(<span class="keyword">const</span> Points &amp;points, <span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_point.html">Point</a> &amp;point) <span class="keyword">const</span>;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_slic3r_1_1_point.html#a67468f0c160d9a14632091754a9487c9">nearest_point</a>(<span class="keyword">const</span> Points &amp;points, <a class="code" href="class_slic3r_1_1_point.html">Point</a>* point) <span class="keyword">const</span>;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_slic3r_1_1_point.html#ab4bc82f724534fbe0ec48db21e34c8de">nearest_waypoint</a>(<span class="keyword">const</span> Points &amp;points, <span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_point.html">Point</a> &amp;dest, <a class="code" href="class_slic3r_1_1_point.html">Point</a>* point) <span class="keyword">const</span>;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    <span class="keywordtype">double</span> <a class="code" href="class_slic3r_1_1_point.html#a4271962e57e1cabaf674980bdbf3b568">distance_to</a>(<span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_point.html">Point</a> &amp;point) <span class="keyword">const</span>;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    <span class="keywordtype">double</span> <a class="code" href="class_slic3r_1_1_point.html#a4271962e57e1cabaf674980bdbf3b568">distance_to</a>(<span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_line.html">Line</a> &amp;line) <span class="keyword">const</span>;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    <span class="keywordtype">double</span> <a class="code" href="class_slic3r_1_1_point.html#a39578926ba0e934452c4dddc1f7d7c93">perp_distance_to</a>(<span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_line.html">Line</a> &amp;line) <span class="keyword">const</span>;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    <span class="keywordtype">double</span> <a class="code" href="class_slic3r_1_1_point.html#a6a47d73c549b19275353d0cdc15c6dd1">ccw</a>(<span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_point.html">Point</a> &amp;p1, <span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_point.html">Point</a> &amp;p2) <span class="keyword">const</span>;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    <span class="keywordtype">double</span> <a class="code" href="class_slic3r_1_1_point.html#a6a47d73c549b19275353d0cdc15c6dd1">ccw</a>(<span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_line.html">Line</a> &amp;line) <span class="keyword">const</span>;</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;    <span class="keywordtype">double</span> <a class="code" href="class_slic3r_1_1_point.html#ad3068eadd59daf851bab7b7bcb40f0b6">ccw_angle</a>(<span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_point.html">Point</a> &amp;p1, <span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_point.html">Point</a> &amp;p2) <span class="keyword">const</span>;</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    <a class="code" href="class_slic3r_1_1_point.html">Point</a> <a class="code" href="class_slic3r_1_1_point.html#a95b18a5328ff199ceecf47229a1ca8a6">projection_onto</a>(<span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_multi_point.html">MultiPoint</a> &amp;poly) <span class="keyword">const</span>;</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    <a class="code" href="class_slic3r_1_1_point.html">Point</a> <a class="code" href="class_slic3r_1_1_point.html#a95b18a5328ff199ceecf47229a1ca8a6">projection_onto</a>(<span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_line.html">Line</a> &amp;line) <span class="keyword">const</span>;</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    <a class="code" href="class_slic3r_1_1_point.html">Point</a> <a class="code" href="class_slic3r_1_1_point.html#a6b399e97b57ca52bf9faa2f20fcd0fce">negative</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    Vector <a class="code" href="class_slic3r_1_1_point.html#a5266d42f61125bab7a5f5f1ef8d24273">vector_to</a>(<span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_point.html">Point</a> &amp;point) <span class="keyword">const</span>;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_slic3r_1_1_point.html#aba7ab94397d93d2770998e1f66fb61d8">align_to_grid</a>(<span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_point.html">Point</a> &amp;spacing, <span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_point.html">Point</a> &amp;base = <a class="code" href="class_slic3r_1_1_point.html#aec10aaba6550e6c7fe7571cb7b5379cc">Point</a>(0,0));</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;};</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<a class="code" href="class_slic3r_1_1_point.html">Point</a> <a class="code" href="namespace_slic3r.html#abe0191f434c5cae8a56e3df77f00de69">operator+</a>(<span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_point.html">Point</a>&amp; point1, <span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_point.html">Point</a>&amp; point2);</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<a class="code" href="class_slic3r_1_1_point.html">Point</a> <a class="code" href="namespace_slic3r.html#afd355e6466c54c6f2ded488c93310dfd">operator-</a>(<span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_point.html">Point</a>&amp; point1, <span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_point.html">Point</a>&amp; point2);</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<a class="code" href="class_slic3r_1_1_point.html">Point</a> <a class="code" href="namespace_slic3r.html#a3a7d3ed9b7d2bb6d9b00de3b985ca408">operator*</a>(<span class="keywordtype">double</span> scalar, <span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_point.html">Point</a>&amp; point2);</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">inline</span> Points&amp;</div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="namespace_slic3r.html#af8928c899e46c851436168cd2e66849f">   83</a></span>&#160;<a class="code" href="namespace_slic3r.html#af8928c899e46c851436168cd2e66849f">operator+=</a>(Points &amp;dst, <span class="keyword">const</span> Points &amp;src) {</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    <a class="code" href="namespace_slic3r.html#acf7db809cbd1d919d0bd314f5fbdf4a9">append_to</a>(dst, src);</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    <span class="keywordflow">return</span> dst;</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;};</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">inline</span> Points&amp;</div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="namespace_slic3r.html#a05a1589b555b8751c5794102ea674291">   89</a></span>&#160;<a class="code" href="namespace_slic3r.html#af8928c899e46c851436168cd2e66849f">operator+=</a>(Points &amp;dst, <span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_point.html">Point</a> &amp;p) {</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    dst.push_back(p);</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    <span class="keywordflow">return</span> dst;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;};</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_point3.html">   94</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_slic3r_1_1_point3.html">Point3</a> : <span class="keyword">public</span> <a class="code" href="class_slic3r_1_1_point.html">Point</a></div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;{</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_point3.html#a066fb22e29e74b451cd37f9a7a558613">   97</a></span>&#160;    <a class="code" href="namespace_slic3r.html#ab6d77625bc973b0c03e577944f90f297">coord_t</a> <a class="code" href="class_slic3r_1_1_point3.html#a066fb22e29e74b451cd37f9a7a558613">z</a>;</div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_point3.html#a6c9eeac8ad3c52f2099f5cc7629e8c43">   98</a></span>&#160;    <span class="keyword">explicit</span> <a class="code" href="class_slic3r_1_1_point3.html#a6c9eeac8ad3c52f2099f5cc7629e8c43">Point3</a>(<a class="code" href="namespace_slic3r.html#ab6d77625bc973b0c03e577944f90f297">coord_t</a> _x = 0, <a class="code" href="namespace_slic3r.html#ab6d77625bc973b0c03e577944f90f297">coord_t</a> _y = 0, <a class="code" href="namespace_slic3r.html#ab6d77625bc973b0c03e577944f90f297">coord_t</a> _z = 0): <a class="code" href="class_slic3r_1_1_point.html">Point</a>(_x, _y), z(_z) {};</div><div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_point3.html#a90dffe9bdb078c3f0073449374c8817c">   99</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_slic3r_1_1_point3.html#a90dffe9bdb078c3f0073449374c8817c">coincides_with</a>(<span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_point3.html">Point3</a> &amp;point3)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> this-&gt;x == point3.<a class="code" href="class_slic3r_1_1_point.html#ada2d925480aeabf74d98f8958c8b3bc0">x</a> &amp;&amp; this-&gt;y == point3.<a class="code" href="class_slic3r_1_1_point.html#aeecab494b1d3f141a92e43fcca482d5e">y</a> &amp;&amp; this-&gt;z == point3.<a class="code" href="class_slic3r_1_1_point3.html#a066fb22e29e74b451cd37f9a7a558613">z</a>; }</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;};</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;std::ostream&amp; <a class="code" href="namespace_slic3r.html#a6b141ac7bdfc6ab718ab0bc3a44477a1">operator&lt;&lt;</a>(std::ostream &amp;stm, <span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_pointf.html">Pointf</a> &amp;pointf);</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_pointf.html">  104</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_slic3r_1_1_pointf.html">Pointf</a></div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;{</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_pointf.html#a6d552059a2bc31a7a6e4b65f6420d9c3">  107</a></span>&#160;    <a class="code" href="namespace_slic3r.html#a2ac5c755948c74f5f5f975acd5057fe9">coordf_t</a> <a class="code" href="class_slic3r_1_1_pointf.html#a6d552059a2bc31a7a6e4b65f6420d9c3">x</a>;</div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_pointf.html#a765fe637f2320f3f0eb7fe327cfebbb8">  108</a></span>&#160;    <a class="code" href="namespace_slic3r.html#a2ac5c755948c74f5f5f975acd5057fe9">coordf_t</a> <a class="code" href="class_slic3r_1_1_pointf.html#a765fe637f2320f3f0eb7fe327cfebbb8">y</a>;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_pointf.html#aba309bc9c99c3644c5244ccef16f8efe">  109</a></span>&#160;    <span class="keyword">explicit</span> <a class="code" href="class_slic3r_1_1_pointf.html#aba309bc9c99c3644c5244ccef16f8efe">Pointf</a>(<a class="code" href="namespace_slic3r.html#a2ac5c755948c74f5f5f975acd5057fe9">coordf_t</a> _x = 0, <a class="code" href="namespace_slic3r.html#a2ac5c755948c74f5f5f975acd5057fe9">coordf_t</a> _y = 0): x(_x), y(_y) {};</div><div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_pointf.html#ac741720718600343dc7edbdf99a8ec1f">  110</a></span>&#160;    <span class="keyword">static</span> <a class="code" href="class_slic3r_1_1_pointf.html">Pointf</a> <a class="code" href="class_slic3r_1_1_pointf.html#ac741720718600343dc7edbdf99a8ec1f">new_unscale</a>(<a class="code" href="namespace_slic3r.html#ab6d77625bc973b0c03e577944f90f297">coord_t</a> x, <a class="code" href="namespace_slic3r.html#ab6d77625bc973b0c03e577944f90f297">coord_t</a> y) {</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="class_slic3r_1_1_pointf.html#aba309bc9c99c3644c5244ccef16f8efe">Pointf</a>(<a class="code" href="namespace_slic3r.html#ab57bdde7cab5f77c8d57ac0d25cc85d0">unscale</a>(x), <a class="code" href="namespace_slic3r.html#ab57bdde7cab5f77c8d57ac0d25cc85d0">unscale</a>(y));</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    };</div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_pointf.html#ada90e31213a46104e3e764e281c2fb80">  113</a></span>&#160;    <span class="keyword">static</span> <a class="code" href="class_slic3r_1_1_pointf.html">Pointf</a> <a class="code" href="class_slic3r_1_1_pointf.html#ada90e31213a46104e3e764e281c2fb80">new_unscale</a>(<span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_point.html">Point</a> &amp;p) {</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="class_slic3r_1_1_pointf.html#aba309bc9c99c3644c5244ccef16f8efe">Pointf</a>(<a class="code" href="namespace_slic3r.html#ab57bdde7cab5f77c8d57ac0d25cc85d0">unscale</a>(p.<a class="code" href="class_slic3r_1_1_point.html#ada2d925480aeabf74d98f8958c8b3bc0">x</a>), <a class="code" href="namespace_slic3r.html#ab57bdde7cab5f77c8d57ac0d25cc85d0">unscale</a>(p.<a class="code" href="class_slic3r_1_1_point.html#aeecab494b1d3f141a92e43fcca482d5e">y</a>));</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    };</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;    std::string <a class="code" href="class_slic3r_1_1_pointf.html#a9b9a2be26d429a7b4fe72e508c1eb36f">wkt</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    std::string <a class="code" href="class_slic3r_1_1_pointf.html#a34b8f3a2a7dfea27cdf0204c5db03bfa">dump_perl</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_slic3r_1_1_pointf.html#a1a5286fa4f3e0732b15db56570d07005">scale</a>(<span class="keywordtype">double</span> factor);</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_slic3r_1_1_pointf.html#a3cf07d8520a962af836a8a63b4b83e1f">translate</a>(<span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y);</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_slic3r_1_1_pointf.html#a3cf07d8520a962af836a8a63b4b83e1f">translate</a>(<span class="keyword">const</span> Vectorf &amp;vector);</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_slic3r_1_1_pointf.html#ab8fb7112178a7c74a5ce4cb184e669da">rotate</a>(<span class="keywordtype">double</span> angle);</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_slic3r_1_1_pointf.html#ab8fb7112178a7c74a5ce4cb184e669da">rotate</a>(<span class="keywordtype">double</span> angle, <span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_pointf.html">Pointf</a> &amp;center);</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    <a class="code" href="class_slic3r_1_1_pointf.html">Pointf</a> <a class="code" href="class_slic3r_1_1_pointf.html#a967387ae49b59428356d87901fb80dff">negative</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    Vectorf <a class="code" href="class_slic3r_1_1_pointf.html#a9c05fa25569108093c92f949f21bdb89">vector_to</a>(<span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_pointf.html">Pointf</a> &amp;point) <span class="keyword">const</span>;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;};</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;std::ostream&amp; <a class="code" href="namespace_slic3r.html#a6b141ac7bdfc6ab718ab0bc3a44477a1">operator&lt;&lt;</a>(std::ostream &amp;stm, <span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_pointf3.html">Pointf3</a> &amp;pointf3);</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_pointf3.html">  129</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_slic3r_1_1_pointf3.html">Pointf3</a> : <span class="keyword">public</span> <a class="code" href="class_slic3r_1_1_pointf.html">Pointf</a></div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;{</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_pointf3.html#a26f53e218ab0a88c06567d877b5e53d5">  132</a></span>&#160;    <a class="code" href="namespace_slic3r.html#a2ac5c755948c74f5f5f975acd5057fe9">coordf_t</a> <a class="code" href="class_slic3r_1_1_pointf3.html#a26f53e218ab0a88c06567d877b5e53d5">z</a>;</div><div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_pointf3.html#a79ffc5e80f7cc1af44e5d29843f8d6d2">  133</a></span>&#160;    <span class="keyword">explicit</span> <a class="code" href="class_slic3r_1_1_pointf3.html#a79ffc5e80f7cc1af44e5d29843f8d6d2">Pointf3</a>(<a class="code" href="namespace_slic3r.html#a2ac5c755948c74f5f5f975acd5057fe9">coordf_t</a> _x = 0, <a class="code" href="namespace_slic3r.html#a2ac5c755948c74f5f5f975acd5057fe9">coordf_t</a> _y = 0, <a class="code" href="namespace_slic3r.html#a2ac5c755948c74f5f5f975acd5057fe9">coordf_t</a> _z = 0): <a class="code" href="class_slic3r_1_1_pointf.html">Pointf</a>(_x, _y), z(_z) {};</div><div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_pointf3.html#a40751c9794d7721c982c279e2b87a3f0">  134</a></span>&#160;    <span class="keyword">static</span> <a class="code" href="class_slic3r_1_1_pointf3.html">Pointf3</a> <a class="code" href="class_slic3r_1_1_pointf3.html#a40751c9794d7721c982c279e2b87a3f0">new_unscale</a>(<a class="code" href="namespace_slic3r.html#ab6d77625bc973b0c03e577944f90f297">coord_t</a> x, <a class="code" href="namespace_slic3r.html#ab6d77625bc973b0c03e577944f90f297">coord_t</a> y, <a class="code" href="namespace_slic3r.html#ab6d77625bc973b0c03e577944f90f297">coord_t</a> z) {</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="class_slic3r_1_1_pointf3.html#a79ffc5e80f7cc1af44e5d29843f8d6d2">Pointf3</a>(<a class="code" href="namespace_slic3r.html#ab57bdde7cab5f77c8d57ac0d25cc85d0">unscale</a>(x), <a class="code" href="namespace_slic3r.html#ab57bdde7cab5f77c8d57ac0d25cc85d0">unscale</a>(y), <a class="code" href="namespace_slic3r.html#ab57bdde7cab5f77c8d57ac0d25cc85d0">unscale</a>(z));</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    };</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_slic3r_1_1_pointf3.html#a7db0494c563d582721c96213241b3ffe">scale</a>(<span class="keywordtype">double</span> factor);</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_slic3r_1_1_pointf3.html#aff3ef29d7f3e448fe79a68b826694337">translate</a>(<span class="keyword">const</span> Vectorf3 &amp;vector);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_slic3r_1_1_pointf3.html#aff3ef29d7f3e448fe79a68b826694337">translate</a>(<span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y, <span class="keywordtype">double</span> z);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;    <span class="keywordtype">double</span> <a class="code" href="class_slic3r_1_1_pointf3.html#a2f879ed37b2b789fe928863185b7e7a5">distance_to</a>(<span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_pointf3.html">Pointf3</a> &amp;point) <span class="keyword">const</span>;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;    <a class="code" href="class_slic3r_1_1_pointf3.html">Pointf3</a> <a class="code" href="class_slic3r_1_1_pointf3.html#a06984f165c7d8917d796353453b05569">negative</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;    Vectorf3 <a class="code" href="class_slic3r_1_1_pointf3.html#a78c32d3838bce1c2ade29dedccc043d3">vector_to</a>(<span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_pointf3.html">Pointf3</a> &amp;point) <span class="keyword">const</span>;</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;};</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="keyword">inline</span> Points</div><div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="namespace_slic3r.html#a15a139c8dfb5ba5fd768cd42d888ab36">  147</a></span>&#160;<a class="code" href="namespace_slic3r.html#a15a139c8dfb5ba5fd768cd42d888ab36">to_points</a>(<span class="keyword">const</span> std::vector&lt;T&gt; &amp;items)</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;{</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;    Points pp;</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;    <span class="keywordflow">for</span> (<span class="keyword">typename</span> std::vector&lt;T&gt;::const_iterator it = items.begin(); it != items.end(); ++it)</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;        <a class="code" href="namespace_slic3r.html#acf7db809cbd1d919d0bd314f5fbdf4a9">append_to</a>(pp, (Points)*it);</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    <span class="keywordflow">return</span> pp;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;}</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;}</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="comment">// start Boost</span></div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="preprocessor">#include &lt;boost/version.hpp&gt;</span></div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<span class="preprocessor">#include &lt;boost/polygon/polygon.hpp&gt;</span></div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceboost.html">boost</a> { <span class="keyword">namespace </span>polygon {</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;    <span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="structboost_1_1polygon_1_1geometry__concept_3_01coord__t_01_4.html#ad6197c27a9abf94da88dee4bbe47bd24">  162</a></span>&#160;    <span class="keyword">struct </span>geometry_concept&lt;<a class="code" href="namespace_slic3r.html#ab6d77625bc973b0c03e577944f90f297">coord_t</a>&gt; { <span class="keyword">typedef</span> coordinate_concept <a class="code" href="structboost_1_1polygon_1_1geometry__concept_3_01coord__t_01_4.html#ad6197c27a9abf94da88dee4bbe47bd24">type</a>; };</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;    </div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="comment">/* Boost.Polygon already defines a specialization for coordinate_traits&lt;long&gt; as of 1.60:</span></div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="comment">   https://github.com/boostorg/polygon/commit/0ac7230dd1f8f34cb12b86c8bb121ae86d3d9b97 */</span></div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="preprocessor">#if BOOST_VERSION &lt; 106000</span></div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;    <span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="structboost_1_1polygon_1_1coordinate__traits_3_01coord__t_01_4.html">  168</a></span>&#160;    <span class="keyword">struct </span>coordinate_traits&lt;<a class="code" href="namespace_slic3r.html#ab6d77625bc973b0c03e577944f90f297">coord_t</a>&gt; {</div><div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="structboost_1_1polygon_1_1coordinate__traits_3_01coord__t_01_4.html#a2ae627aacb3784f89b609d99dc9b3be0">  169</a></span>&#160;        <span class="keyword">typedef</span> <a class="code" href="namespace_slic3r.html#ab6d77625bc973b0c03e577944f90f297">coord_t</a> <a class="code" href="structboost_1_1polygon_1_1coordinate__traits_3_01coord__t_01_4.html#a2ae627aacb3784f89b609d99dc9b3be0">coordinate_type</a>;</div><div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="structboost_1_1polygon_1_1coordinate__traits_3_01coord__t_01_4.html#a691a02fc5dfbb6ccdf03c3d552194f09">  170</a></span>&#160;        <span class="keyword">typedef</span> <span class="keywordtype">long</span> <span class="keywordtype">double</span> <a class="code" href="structboost_1_1polygon_1_1coordinate__traits_3_01coord__t_01_4.html#a691a02fc5dfbb6ccdf03c3d552194f09">area_type</a>;</div><div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="structboost_1_1polygon_1_1coordinate__traits_3_01coord__t_01_4.html#aedbe703d9e4b538ffe9200afda06badb">  171</a></span>&#160;        <span class="keyword">typedef</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> <a class="code" href="structboost_1_1polygon_1_1coordinate__traits_3_01coord__t_01_4.html#aedbe703d9e4b538ffe9200afda06badb">manhattan_area_type</a>;</div><div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="structboost_1_1polygon_1_1coordinate__traits_3_01coord__t_01_4.html#abff453df36f22879ab95cfffb6be5ee7">  172</a></span>&#160;        <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> <a class="code" href="structboost_1_1polygon_1_1coordinate__traits_3_01coord__t_01_4.html#abff453df36f22879ab95cfffb6be5ee7">unsigned_area_type</a>;</div><div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="structboost_1_1polygon_1_1coordinate__traits_3_01coord__t_01_4.html#ab012e33832b5e8e6753fa36b11a13c96">  173</a></span>&#160;        <span class="keyword">typedef</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> <a class="code" href="structboost_1_1polygon_1_1coordinate__traits_3_01coord__t_01_4.html#ab012e33832b5e8e6753fa36b11a13c96">coordinate_difference</a>;</div><div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="structboost_1_1polygon_1_1coordinate__traits_3_01coord__t_01_4.html#ae132893b60c84a8c9c2390a46db4e7b2">  174</a></span>&#160;        <span class="keyword">typedef</span> <span class="keywordtype">long</span> <span class="keywordtype">double</span> <a class="code" href="structboost_1_1polygon_1_1coordinate__traits_3_01coord__t_01_4.html#ae132893b60c84a8c9c2390a46db4e7b2">coordinate_distance</a>;</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;    };</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;    <span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="structboost_1_1polygon_1_1geometry__concept_3_01_point_01_4.html#a3aec11cb0253b17c7b24ae626a4434f5">  179</a></span>&#160;    <span class="keyword">struct </span>geometry_concept&lt;<a class="code" href="class_slic3r_1_1_point.html">Point</a>&gt; { <span class="keyword">typedef</span> point_concept <a class="code" href="structboost_1_1polygon_1_1geometry__concept_3_01_point_01_4.html#a3aec11cb0253b17c7b24ae626a4434f5">type</a>; };</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;   </div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;    <span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="structboost_1_1polygon_1_1point__traits_3_01_point_01_4.html">  182</a></span>&#160;    <span class="keyword">struct </span>point_traits&lt;<a class="code" href="class_slic3r_1_1_point.html">Point</a>&gt; {</div><div class="line"><a name="l00183"></a><span class="lineno"><a class="line" href="structboost_1_1polygon_1_1point__traits_3_01_point_01_4.html#a281220b900c6b1f3d0d444c53b54c174">  183</a></span>&#160;        <span class="keyword">typedef</span> <a class="code" href="namespace_slic3r.html#ab6d77625bc973b0c03e577944f90f297">coord_t</a> <a class="code" href="structboost_1_1polygon_1_1point__traits_3_01_point_01_4.html#a281220b900c6b1f3d0d444c53b54c174">coordinate_type</a>;</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;    </div><div class="line"><a name="l00185"></a><span class="lineno"><a class="line" href="structboost_1_1polygon_1_1point__traits_3_01_point_01_4.html#ae3380cef534bc0195fda8e77cf639bc5">  185</a></span>&#160;        <span class="keyword">static</span> <span class="keyword">inline</span> coordinate_type <span class="keyword">get</span>(<span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_point.html">Point</a>&amp; point, orientation_2d orient) {</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;            <span class="keywordflow">return</span> (orient == HORIZONTAL) ? point.x : point.y;</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;        }</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;    };</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;    </div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;    <span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00191"></a><span class="lineno"><a class="line" href="structboost_1_1polygon_1_1point__mutable__traits_3_01_point_01_4.html">  191</a></span>&#160;    <span class="keyword">struct </span>point_mutable_traits&lt;<a class="code" href="class_slic3r_1_1_point.html">Point</a>&gt; {</div><div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="structboost_1_1polygon_1_1point__mutable__traits_3_01_point_01_4.html#ac35ca56cdfd30e03c9eca2e5565d93e9">  192</a></span>&#160;        <span class="keyword">typedef</span> <a class="code" href="namespace_slic3r.html#ab6d77625bc973b0c03e577944f90f297">coord_t</a> <a class="code" href="structboost_1_1polygon_1_1point__mutable__traits_3_01_point_01_4.html#ac35ca56cdfd30e03c9eca2e5565d93e9">coordinate_type</a>;</div><div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="structboost_1_1polygon_1_1point__mutable__traits_3_01_point_01_4.html#a4f6f6012f50625238369a33c817c9d6f">  193</a></span>&#160;        <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(<a class="code" href="class_slic3r_1_1_point.html">Point</a>&amp; point, orientation_2d orient, <a class="code" href="namespace_slic3r.html#ab6d77625bc973b0c03e577944f90f297">coord_t</a> value) {</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;            <span class="keywordflow">if</span> (orient == HORIZONTAL)</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;                point.x = value;</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;            <span class="keywordflow">else</span></div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;                point.y = value;</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;        }</div><div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="structboost_1_1polygon_1_1point__mutable__traits_3_01_point_01_4.html#aacb8002913b685744ef99aaa719bc3b5">  199</a></span>&#160;        <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="class_slic3r_1_1_point.html">Point</a> <a class="code" href="structboost_1_1polygon_1_1point__mutable__traits_3_01_point_01_4.html#aacb8002913b685744ef99aaa719bc3b5">construct</a>(<a class="code" href="namespace_slic3r.html#ab6d77625bc973b0c03e577944f90f297">coord_t</a> x_value, <a class="code" href="namespace_slic3r.html#ab6d77625bc973b0c03e577944f90f297">coord_t</a> y_value) {</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;            <a class="code" href="class_slic3r_1_1_point.html">Point</a> retval;</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;            retval.<a class="code" href="class_slic3r_1_1_point.html#ada2d925480aeabf74d98f8958c8b3bc0">x</a> = x_value;</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;            retval.<a class="code" href="class_slic3r_1_1_point.html#aeecab494b1d3f141a92e43fcca482d5e">y</a> = y_value; </div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;            <span class="keywordflow">return</span> retval;</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;        }</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;    };</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;} }</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="comment">// end Boost</span></div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="class_slic3r_1_1_pointf_html_a765fe637f2320f3f0eb7fe327cfebbb8"><div class="ttname"><a href="class_slic3r_1_1_pointf.html#a765fe637f2320f3f0eb7fe327cfebbb8">Slic3r::Pointf::y</a></div><div class="ttdeci">coordf_t y</div><div class="ttdef"><b>Definition:</b> Point.hpp:108</div></div>
<div class="ttc" id="structboost_1_1polygon_1_1coordinate__traits_3_01coord__t_01_4_html_ab012e33832b5e8e6753fa36b11a13c96"><div class="ttname"><a href="structboost_1_1polygon_1_1coordinate__traits_3_01coord__t_01_4.html#ab012e33832b5e8e6753fa36b11a13c96">boost::polygon::coordinate_traits&lt; coord_t &gt;::coordinate_difference</a></div><div class="ttdeci">long long coordinate_difference</div><div class="ttdef"><b>Definition:</b> Point.hpp:173</div></div>
<div class="ttc" id="namespace_slic3r_html_ae83d5e833b46f569677f20a103981cfa"><div class="ttname"><a href="namespace_slic3r.html#ae83d5e833b46f569677f20a103981cfa">Slic3r::PointConstPtrs</a></div><div class="ttdeci">std::vector&lt; const Point * &gt; PointConstPtrs</div><div class="ttdef"><b>Definition:</b> Point.hpp:23</div></div>
<div class="ttc" id="class_slic3r_1_1_pointf3_html_a7db0494c563d582721c96213241b3ffe"><div class="ttname"><a href="class_slic3r_1_1_pointf3.html#a7db0494c563d582721c96213241b3ffe">Slic3r::Pointf3::scale</a></div><div class="ttdeci">void scale(double factor)</div><div class="ttdef"><b>Definition:</b> Point.cpp:430</div></div>
<div class="ttc" id="class_slic3r_1_1_point3_html"><div class="ttname"><a href="class_slic3r_1_1_point3.html">Slic3r::Point3</a></div><div class="ttdef"><b>Definition:</b> Point.hpp:94</div></div>
<div class="ttc" id="class_slic3r_1_1_point_html_aec10aaba6550e6c7fe7571cb7b5379cc"><div class="ttname"><a href="class_slic3r_1_1_point.html#aec10aaba6550e6c7fe7571cb7b5379cc">Slic3r::Point::Point</a></div><div class="ttdeci">Point(coord_t _x=0, coord_t _y=0)</div><div class="ttdef"><b>Definition:</b> Point.hpp:32</div></div>
<div class="ttc" id="structboost_1_1polygon_1_1geometry__concept_3_01coord__t_01_4_html_ad6197c27a9abf94da88dee4bbe47bd24"><div class="ttname"><a href="structboost_1_1polygon_1_1geometry__concept_3_01coord__t_01_4.html#ad6197c27a9abf94da88dee4bbe47bd24">boost::polygon::geometry_concept&lt; coord_t &gt;::type</a></div><div class="ttdeci">coordinate_concept type</div><div class="ttdef"><b>Definition:</b> Point.hpp:162</div></div>
<div class="ttc" id="class_slic3r_1_1_pointf_html_ada90e31213a46104e3e764e281c2fb80"><div class="ttname"><a href="class_slic3r_1_1_pointf.html#ada90e31213a46104e3e764e281c2fb80">Slic3r::Pointf::new_unscale</a></div><div class="ttdeci">static Pointf new_unscale(const Point &amp;p)</div><div class="ttdef"><b>Definition:</b> Point.hpp:113</div></div>
<div class="ttc" id="libslic3r_8h_html"><div class="ttname"><a href="libslic3r_8h.html">libslic3r.h</a></div></div>
<div class="ttc" id="namespaceboost_html"><div class="ttname"><a href="namespaceboost.html">boost</a></div><div class="ttdef"><b>Definition:</b> ExPolygon.hpp:76</div></div>
<div class="ttc" id="namespace_slic3r_html_ab6d77625bc973b0c03e577944f90f297"><div class="ttname"><a href="namespace_slic3r.html#ab6d77625bc973b0c03e577944f90f297">Slic3r::coord_t</a></div><div class="ttdeci">long coord_t</div><div class="ttdef"><b>Definition:</b> libslic3r.h:41</div></div>
<div class="ttc" id="structboost_1_1polygon_1_1geometry__concept_3_01_point_01_4_html_a3aec11cb0253b17c7b24ae626a4434f5"><div class="ttname"><a href="structboost_1_1polygon_1_1geometry__concept_3_01_point_01_4.html#a3aec11cb0253b17c7b24ae626a4434f5">boost::polygon::geometry_concept&lt; Point &gt;::type</a></div><div class="ttdeci">point_concept type</div><div class="ttdef"><b>Definition:</b> Point.hpp:179</div></div>
<div class="ttc" id="class_slic3r_1_1_point_html_a67468f0c160d9a14632091754a9487c9"><div class="ttname"><a href="class_slic3r_1_1_point.html#a67468f0c160d9a14632091754a9487c9">Slic3r::Point::nearest_point</a></div><div class="ttdeci">bool nearest_point(const Points &amp;points, Point *point) const</div><div class="ttdef"><b>Definition:</b> Point.cpp:160</div></div>
<div class="ttc" id="class_slic3r_1_1_pointf_html_a967387ae49b59428356d87901fb80dff"><div class="ttname"><a href="class_slic3r_1_1_pointf.html#a967387ae49b59428356d87901fb80dff">Slic3r::Pointf::negative</a></div><div class="ttdeci">Pointf negative() const</div><div class="ttdef"><b>Definition:</b> Point.cpp:412</div></div>
<div class="ttc" id="structboost_1_1polygon_1_1coordinate__traits_3_01coord__t_01_4_html_a2ae627aacb3784f89b609d99dc9b3be0"><div class="ttname"><a href="structboost_1_1polygon_1_1coordinate__traits_3_01coord__t_01_4.html#a2ae627aacb3784f89b609d99dc9b3be0">boost::polygon::coordinate_traits&lt; coord_t &gt;::coordinate_type</a></div><div class="ttdeci">coord_t coordinate_type</div><div class="ttdef"><b>Definition:</b> Point.hpp:169</div></div>
<div class="ttc" id="class_slic3r_1_1_pointf_html_ab8fb7112178a7c74a5ce4cb184e669da"><div class="ttname"><a href="class_slic3r_1_1_pointf.html#ab8fb7112178a7c74a5ce4cb184e669da">Slic3r::Pointf::rotate</a></div><div class="ttdeci">void rotate(double angle)</div><div class="ttdef"><b>Definition:</b> Point.cpp:390</div></div>
<div class="ttc" id="class_slic3r_1_1_point_html_a905d7664022b039f9327056523c2018b"><div class="ttname"><a href="class_slic3r_1_1_point.html#a905d7664022b039f9327056523c2018b">Slic3r::Point::coincides_with_epsilon</a></div><div class="ttdeci">bool coincides_with_epsilon(const Point &amp;point) const</div><div class="ttdef"><b>Definition:</b> Point.cpp:82</div></div>
<div class="ttc" id="class_slic3r_1_1_point_html_a5266d42f61125bab7a5f5f1ef8d24273"><div class="ttname"><a href="class_slic3r_1_1_point.html#a5266d42f61125bab7a5f5f1ef8d24273">Slic3r::Point::vector_to</a></div><div class="ttdeci">Vector vector_to(const Point &amp;point) const</div><div class="ttdef"><b>Definition:</b> Point.cpp:302</div></div>
<div class="ttc" id="namespace_slic3r_html_acf7db809cbd1d919d0bd314f5fbdf4a9"><div class="ttname"><a href="namespace_slic3r.html#acf7db809cbd1d919d0bd314f5fbdf4a9">Slic3r::append_to</a></div><div class="ttdeci">void append_to(std::vector&lt; T &gt; &amp;dst, const std::vector&lt; T &gt; &amp;src)</div><div class="ttdef"><b>Definition:</b> libslic3r.h:72</div></div>
<div class="ttc" id="class_slic3r_1_1_line_html"><div class="ttname"><a href="class_slic3r_1_1_line.html">Slic3r::Line</a></div><div class="ttdef"><b>Definition:</b> Line.hpp:16</div></div>
<div class="ttc" id="class_slic3r_1_1_point_html_a85ef238a19d555195ad0a9229d04b04f"><div class="ttname"><a href="class_slic3r_1_1_point.html#a85ef238a19d555195ad0a9229d04b04f">Slic3r::Point::nearest_point_index</a></div><div class="ttdeci">int nearest_point_index(const Points &amp;points) const</div><div class="ttdef"><b>Definition:</b> Point.cpp:88</div></div>
<div class="ttc" id="class_slic3r_1_1_point_html_a6b399e97b57ca52bf9faa2f20fcd0fce"><div class="ttname"><a href="class_slic3r_1_1_point.html#a6b399e97b57ca52bf9faa2f20fcd0fce">Slic3r::Point::negative</a></div><div class="ttdeci">Point negative() const</div><div class="ttdef"><b>Definition:</b> Point.cpp:296</div></div>
<div class="ttc" id="class_slic3r_1_1_pointf_html_a1a5286fa4f3e0732b15db56570d07005"><div class="ttname"><a href="class_slic3r_1_1_pointf.html#a1a5286fa4f3e0732b15db56570d07005">Slic3r::Pointf::scale</a></div><div class="ttdeci">void scale(double factor)</div><div class="ttdef"><b>Definition:</b> Point.cpp:370</div></div>
<div class="ttc" id="class_slic3r_1_1_pointf_html_a3cf07d8520a962af836a8a63b4b83e1f"><div class="ttname"><a href="class_slic3r_1_1_pointf.html#a3cf07d8520a962af836a8a63b4b83e1f">Slic3r::Pointf::translate</a></div><div class="ttdeci">void translate(double x, double y)</div><div class="ttdef"><b>Definition:</b> Point.cpp:377</div></div>
<div class="ttc" id="class_slic3r_1_1_point3_html_a066fb22e29e74b451cd37f9a7a558613"><div class="ttname"><a href="class_slic3r_1_1_point3.html#a066fb22e29e74b451cd37f9a7a558613">Slic3r::Point3::z</a></div><div class="ttdeci">coord_t z</div><div class="ttdef"><b>Definition:</b> Point.hpp:97</div></div>
<div class="ttc" id="class_slic3r_1_1_point_html_ad44802f6ac04cb668f51b555fd7177b0"><div class="ttname"><a href="class_slic3r_1_1_point.html#ad44802f6ac04cb668f51b555fd7177b0">Slic3r::Point::operator==</a></div><div class="ttdeci">bool operator==(const Point &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> Point.cpp:16</div></div>
<div class="ttc" id="class_slic3r_1_1_point_html_ad3068eadd59daf851bab7b7bcb40f0b6"><div class="ttname"><a href="class_slic3r_1_1_point.html#ad3068eadd59daf851bab7b7bcb40f0b6">Slic3r::Point::ccw_angle</a></div><div class="ttdeci">double ccw_angle(const Point &amp;p1, const Point &amp;p2) const</div><div class="ttdef"><b>Definition:</b> Point.cpp:241</div></div>
<div class="ttc" id="structboost_1_1polygon_1_1coordinate__traits_3_01coord__t_01_4_html_a691a02fc5dfbb6ccdf03c3d552194f09"><div class="ttname"><a href="structboost_1_1polygon_1_1coordinate__traits_3_01coord__t_01_4.html#a691a02fc5dfbb6ccdf03c3d552194f09">boost::polygon::coordinate_traits&lt; coord_t &gt;::area_type</a></div><div class="ttdeci">long double area_type</div><div class="ttdef"><b>Definition:</b> Point.hpp:170</div></div>
<div class="ttc" id="class_slic3r_1_1_point_html_a94c89c04f92ad8c31262a44f54775044"><div class="ttname"><a href="class_slic3r_1_1_point.html#a94c89c04f92ad8c31262a44f54775044">Slic3r::Point::translate</a></div><div class="ttdeci">void translate(double x, double y)</div><div class="ttdef"><b>Definition:</b> Point.cpp:45</div></div>
<div class="ttc" id="structboost_1_1polygon_1_1coordinate__traits_3_01coord__t_01_4_html_abff453df36f22879ab95cfffb6be5ee7"><div class="ttname"><a href="structboost_1_1polygon_1_1coordinate__traits_3_01coord__t_01_4.html#abff453df36f22879ab95cfffb6be5ee7">boost::polygon::coordinate_traits&lt; coord_t &gt;::unsigned_area_type</a></div><div class="ttdeci">unsigned long long unsigned_area_type</div><div class="ttdef"><b>Definition:</b> Point.hpp:172</div></div>
<div class="ttc" id="class_slic3r_1_1_point_html_ad211ac45fa6ffba2ae2bbd5f6079109f"><div class="ttname"><a href="class_slic3r_1_1_point.html#ad211ac45fa6ffba2ae2bbd5f6079109f">Slic3r::Point::rotated</a></div><div class="ttdeci">Point rotated(double angle, const Point &amp;center) const</div><div class="ttdef"><b>Definition:</b> Point.hpp:52</div></div>
<div class="ttc" id="namespace_slic3r_html_a96d7834529e8e477798befb6be229d27"><div class="ttname"><a href="namespace_slic3r.html#a96d7834529e8e477798befb6be229d27">Slic3r::Vectorf3</a></div><div class="ttdeci">Pointf3 Vectorf3</div><div class="ttdef"><b>Definition:</b> Point.hpp:20</div></div>
<div class="ttc" id="class_slic3r_1_1_point_html_ac5f02ebf51115dce2e482a4ce121d434"><div class="ttname"><a href="class_slic3r_1_1_point.html#ac5f02ebf51115dce2e482a4ce121d434">Slic3r::Point::rotate</a></div><div class="ttdeci">void rotate(double angle)</div><div class="ttdef"><b>Definition:</b> Point.cpp:58</div></div>
<div class="ttc" id="class_slic3r_1_1_point_html_a400f8fbb88318f8f81656b5fc75f73fd"><div class="ttname"><a href="class_slic3r_1_1_point.html#a400f8fbb88318f8f81656b5fc75f73fd">Slic3r::Point::Point</a></div><div class="ttdeci">Point(long long _x, long long _y)</div><div class="ttdef"><b>Definition:</b> Point.hpp:34</div></div>
<div class="ttc" id="namespace_slic3r_html_a47d04f71423ecef9ad36e18046f11c3c"><div class="ttname"><a href="namespace_slic3r.html#a47d04f71423ecef9ad36e18046f11c3c">Slic3r::Points</a></div><div class="ttdeci">std::vector&lt; Point &gt; Points</div><div class="ttdef"><b>Definition:</b> Point.hpp:21</div></div>
<div class="ttc" id="class_slic3r_1_1_point_html_a518d45ac28e86f98cefaaddc104ecc86"><div class="ttname"><a href="class_slic3r_1_1_point.html#a518d45ac28e86f98cefaaddc104ecc86">Slic3r::Point::new_scale</a></div><div class="ttdeci">static Point new_scale(coordf_t x, coordf_t y)</div><div class="ttdef"><b>Definition:</b> Point.hpp:36</div></div>
<div class="ttc" id="class_slic3r_1_1_point_html_a8c0c712111ffbe0886adefed480813bf"><div class="ttname"><a href="class_slic3r_1_1_point.html#a8c0c712111ffbe0886adefed480813bf">Slic3r::Point::coincides_with</a></div><div class="ttdeci">bool coincides_with(const Point &amp;point) const</div><div class="ttdef"><b>Definition:</b> Point.hpp:57</div></div>
<div class="ttc" id="class_slic3r_1_1_point_html_ab01b93063b231c56f088add2828cb6ea"><div class="ttname"><a href="class_slic3r_1_1_point.html#ab01b93063b231c56f088add2828cb6ea">Slic3r::Point::scale</a></div><div class="ttdeci">void scale(double factor)</div><div class="ttdef"><b>Definition:</b> Point.cpp:38</div></div>
<div class="ttc" id="namespace_slic3r_html_abe0191f434c5cae8a56e3df77f00de69"><div class="ttname"><a href="namespace_slic3r.html#abe0191f434c5cae8a56e3df77f00de69">Slic3r::operator+</a></div><div class="ttdeci">ExPolygons operator+(ExPolygons src1, const ExPolygons &amp;src2)</div><div class="ttdef"><b>Definition:</b> ExPolygon.hpp:65</div></div>
<div class="ttc" id="class_slic3r_1_1_pointf3_html_a06984f165c7d8917d796353453b05569"><div class="ttname"><a href="class_slic3r_1_1_pointf3.html#a06984f165c7d8917d796353453b05569">Slic3r::Pointf3::negative</a></div><div class="ttdeci">Pointf3 negative() const</div><div class="ttdef"><b>Definition:</b> Point.cpp:459</div></div>
<div class="ttc" id="class_slic3r_1_1_point_html_aeecab494b1d3f141a92e43fcca482d5e"><div class="ttname"><a href="class_slic3r_1_1_point.html#aeecab494b1d3f141a92e43fcca482d5e">Slic3r::Point::y</a></div><div class="ttdeci">coord_t y</div><div class="ttdef"><b>Definition:</b> Point.hpp:31</div></div>
<div class="ttc" id="class_slic3r_1_1_point_html_a4271962e57e1cabaf674980bdbf3b568"><div class="ttname"><a href="class_slic3r_1_1_point.html#a4271962e57e1cabaf674980bdbf3b568">Slic3r::Point::distance_to</a></div><div class="ttdeci">double distance_to(const Point &amp;point) const</div><div class="ttdef"><b>Definition:</b> Point.cpp:178</div></div>
<div class="ttc" id="class_slic3r_1_1_pointf3_html_a2f879ed37b2b789fe928863185b7e7a5"><div class="ttname"><a href="class_slic3r_1_1_pointf3.html#a2f879ed37b2b789fe928863185b7e7a5">Slic3r::Pointf3::distance_to</a></div><div class="ttdeci">double distance_to(const Pointf3 &amp;point) const</div><div class="ttdef"><b>Definition:</b> Point.cpp:450</div></div>
<div class="ttc" id="namespace_slic3r_html_ab57bdde7cab5f77c8d57ac0d25cc85d0"><div class="ttname"><a href="namespace_slic3r.html#ab57bdde7cab5f77c8d57ac0d25cc85d0">Slic3r::unscale</a></div><div class="ttdeci">constexpr coordf_t unscale(const coord_t &amp;val)</div><div class="ttdef"><b>Definition:</b> libslic3r.h:49</div></div>
<div class="ttc" id="namespace_slic3r_html_a9a0d9b5718fd26081d3fc9f143f2b246"><div class="ttname"><a href="namespace_slic3r.html#a9a0d9b5718fd26081d3fc9f143f2b246">Slic3r::scale_</a></div><div class="ttdeci">constexpr coord_t scale_(const coordf_t &amp;val)</div><div class="ttdef"><b>Definition:</b> libslic3r.h:48</div></div>
<div class="ttc" id="namespace_slic3r_html_a3c29f6a054e92664e6b8d1f458252dab"><div class="ttname"><a href="namespace_slic3r.html#a3c29f6a054e92664e6b8d1f458252dab">Slic3r::Vector</a></div><div class="ttdeci">Point Vector</div><div class="ttdef"><b>Definition:</b> Point.hpp:17</div></div>
<div class="ttc" id="class_slic3r_1_1_point_html_a95b18a5328ff199ceecf47229a1ca8a6"><div class="ttname"><a href="class_slic3r_1_1_point.html#a95b18a5328ff199ceecf47229a1ca8a6">Slic3r::Point::projection_onto</a></div><div class="ttdeci">Point projection_onto(const MultiPoint &amp;poly) const</div><div class="ttdef"><b>Definition:</b> Point.cpp:251</div></div>
<div class="ttc" id="class_slic3r_1_1_point_html_a6c8f509c222a8dba482119b275d5c81c"><div class="ttname"><a href="class_slic3r_1_1_point.html#a6c8f509c222a8dba482119b275d5c81c">Slic3r::Point::Point</a></div><div class="ttdeci">Point(int _x, int _y)</div><div class="ttdef"><b>Definition:</b> Point.hpp:33</div></div>
<div class="ttc" id="namespace_slic3r_html_a3e902317d6a5dd562530764ca117df76"><div class="ttname"><a href="namespace_slic3r.html#a3e902317d6a5dd562530764ca117df76">Slic3r::Pointf3s</a></div><div class="ttdeci">std::vector&lt; Pointf3 &gt; Pointf3s</div><div class="ttdef"><b>Definition:</b> Point.hpp:25</div></div>
<div class="ttc" id="namespace_slic3r_html_a2ac5c755948c74f5f5f975acd5057fe9"><div class="ttname"><a href="namespace_slic3r.html#a2ac5c755948c74f5f5f975acd5057fe9">Slic3r::coordf_t</a></div><div class="ttdeci">double coordf_t</div><div class="ttdef"><b>Definition:</b> libslic3r.h:42</div></div>
<div class="ttc" id="class_slic3r_1_1_pointf_html_a6d552059a2bc31a7a6e4b65f6420d9c3"><div class="ttname"><a href="class_slic3r_1_1_pointf.html#a6d552059a2bc31a7a6e4b65f6420d9c3">Slic3r::Pointf::x</a></div><div class="ttdeci">coordf_t x</div><div class="ttdef"><b>Definition:</b> Point.hpp:107</div></div>
<div class="ttc" id="namespace_slic3r_html_af8928c899e46c851436168cd2e66849f"><div class="ttname"><a href="namespace_slic3r.html#af8928c899e46c851436168cd2e66849f">Slic3r::operator+=</a></div><div class="ttdeci">Points &amp; operator+=(Points &amp;dst, const Points &amp;src)</div><div class="ttdef"><b>Definition:</b> Point.hpp:83</div></div>
<div class="ttc" id="class_slic3r_1_1_pointf3_html_aff3ef29d7f3e448fe79a68b826694337"><div class="ttname"><a href="class_slic3r_1_1_pointf3.html#aff3ef29d7f3e448fe79a68b826694337">Slic3r::Pointf3::translate</a></div><div class="ttdeci">void translate(const Vectorf3 &amp;vector)</div><div class="ttdef"><b>Definition:</b> Point.cpp:437</div></div>
<div class="ttc" id="class_slic3r_1_1_pointf3_html_a26f53e218ab0a88c06567d877b5e53d5"><div class="ttname"><a href="class_slic3r_1_1_pointf3.html#a26f53e218ab0a88c06567d877b5e53d5">Slic3r::Pointf3::z</a></div><div class="ttdeci">coordf_t z</div><div class="ttdef"><b>Definition:</b> Point.hpp:132</div></div>
<div class="ttc" id="class_slic3r_1_1_pointf3_html_a78c32d3838bce1c2ade29dedccc043d3"><div class="ttname"><a href="class_slic3r_1_1_pointf3.html#a78c32d3838bce1c2ade29dedccc043d3">Slic3r::Pointf3::vector_to</a></div><div class="ttdeci">Vectorf3 vector_to(const Pointf3 &amp;point) const</div><div class="ttdef"><b>Definition:</b> Point.cpp:465</div></div>
<div class="ttc" id="class_slic3r_1_1_point_html"><div class="ttname"><a href="class_slic3r_1_1_point.html">Slic3r::Point</a></div><div class="ttdef"><b>Definition:</b> Point.hpp:27</div></div>
<div class="ttc" id="namespace_slic3r_html"><div class="ttname"><a href="namespace_slic3r.html">Slic3r</a></div><div class="ttdef"><b>Definition:</b> BoundingBox.cpp:4</div></div>
<div class="ttc" id="class_slic3r_1_1_linef_html"><div class="ttname"><a href="class_slic3r_1_1_linef.html">Slic3r::Linef</a></div><div class="ttdef"><b>Definition:</b> Line.hpp:59</div></div>
<div class="ttc" id="structboost_1_1polygon_1_1point__mutable__traits_3_01_point_01_4_html_ac35ca56cdfd30e03c9eca2e5565d93e9"><div class="ttname"><a href="structboost_1_1polygon_1_1point__mutable__traits_3_01_point_01_4.html#ac35ca56cdfd30e03c9eca2e5565d93e9">boost::polygon::point_mutable_traits&lt; Point &gt;::coordinate_type</a></div><div class="ttdeci">coord_t coordinate_type</div><div class="ttdef"><b>Definition:</b> Point.hpp:192</div></div>
<div class="ttc" id="namespace_slic3r_html_af371c2c21f879fac0a0c172a992df9a5"><div class="ttname"><a href="namespace_slic3r.html#af371c2c21f879fac0a0c172a992df9a5">Slic3r::Pointfs</a></div><div class="ttdeci">std::vector&lt; Pointf &gt; Pointfs</div><div class="ttdef"><b>Definition:</b> Point.hpp:24</div></div>
<div class="ttc" id="namespace_slic3r_html_a5c413ee3f91e2e712c7d741f8d96adfd"><div class="ttname"><a href="namespace_slic3r.html#a5c413ee3f91e2e712c7d741f8d96adfd">Slic3r::Vectorf</a></div><div class="ttdeci">Pointf Vectorf</div><div class="ttdef"><b>Definition:</b> Point.hpp:19</div></div>
<div class="ttc" id="class_slic3r_1_1_pointf_html_aba309bc9c99c3644c5244ccef16f8efe"><div class="ttname"><a href="class_slic3r_1_1_pointf.html#aba309bc9c99c3644c5244ccef16f8efe">Slic3r::Pointf::Pointf</a></div><div class="ttdeci">Pointf(coordf_t _x=0, coordf_t _y=0)</div><div class="ttdef"><b>Definition:</b> Point.hpp:109</div></div>
<div class="ttc" id="namespace_slic3r_html_ab4ae165062274afc765e0460eedff643"><div class="ttname"><a href="namespace_slic3r.html#ab4ae165062274afc765e0460eedff643">Slic3r::PointPtrs</a></div><div class="ttdeci">std::vector&lt; Point * &gt; PointPtrs</div><div class="ttdef"><b>Definition:</b> Point.hpp:22</div></div>
<div class="ttc" id="class_slic3r_1_1_point_html_ada2d925480aeabf74d98f8958c8b3bc0"><div class="ttname"><a href="class_slic3r_1_1_point.html#ada2d925480aeabf74d98f8958c8b3bc0">Slic3r::Point::x</a></div><div class="ttdeci">coord_t x</div><div class="ttdef"><b>Definition:</b> Point.hpp:30</div></div>
<div class="ttc" id="structboost_1_1polygon_1_1point__mutable__traits_3_01_point_01_4_html_aacb8002913b685744ef99aaa719bc3b5"><div class="ttname"><a href="structboost_1_1polygon_1_1point__mutable__traits_3_01_point_01_4.html#aacb8002913b685744ef99aaa719bc3b5">boost::polygon::point_mutable_traits&lt; Point &gt;::construct</a></div><div class="ttdeci">static Point construct(coord_t x_value, coord_t y_value)</div><div class="ttdef"><b>Definition:</b> Point.hpp:199</div></div>
<div class="ttc" id="class_slic3r_1_1_point3_html_a6c9eeac8ad3c52f2099f5cc7629e8c43"><div class="ttname"><a href="class_slic3r_1_1_point3.html#a6c9eeac8ad3c52f2099f5cc7629e8c43">Slic3r::Point3::Point3</a></div><div class="ttdeci">Point3(coord_t _x=0, coord_t _y=0, coord_t _z=0)</div><div class="ttdef"><b>Definition:</b> Point.hpp:98</div></div>
<div class="ttc" id="structboost_1_1polygon_1_1point__traits_3_01_point_01_4_html_a281220b900c6b1f3d0d444c53b54c174"><div class="ttname"><a href="structboost_1_1polygon_1_1point__traits_3_01_point_01_4.html#a281220b900c6b1f3d0d444c53b54c174">boost::polygon::point_traits&lt; Point &gt;::coordinate_type</a></div><div class="ttdeci">coord_t coordinate_type</div><div class="ttdef"><b>Definition:</b> Point.hpp:183</div></div>
<div class="ttc" id="class_slic3r_1_1_point_html_aa5f28dafa3ab6728ec0aaf12a9956f4a"><div class="ttname"><a href="class_slic3r_1_1_point.html#aa5f28dafa3ab6728ec0aaf12a9956f4a">Slic3r::Point::dump_perl</a></div><div class="ttdeci">std::string dump_perl() const</div><div class="ttdef"><b>Definition:</b> Point.cpp:30</div></div>
<div class="ttc" id="class_slic3r_1_1_pointf_html_ac741720718600343dc7edbdf99a8ec1f"><div class="ttname"><a href="class_slic3r_1_1_pointf.html#ac741720718600343dc7edbdf99a8ec1f">Slic3r::Pointf::new_unscale</a></div><div class="ttdeci">static Pointf new_unscale(coord_t x, coord_t y)</div><div class="ttdef"><b>Definition:</b> Point.hpp:110</div></div>
<div class="ttc" id="class_slic3r_1_1_point_html_a364726db73db2ce792490c2825072139"><div class="ttname"><a href="class_slic3r_1_1_point.html#a364726db73db2ce792490c2825072139">Slic3r::Point::nearest_waypoint_index</a></div><div class="ttdeci">size_t nearest_waypoint_index(const Points &amp;points, const Point &amp;point) const</div><div class="ttdef"><b>Definition:</b> Point.cpp:125</div></div>
<div class="ttc" id="structboost_1_1polygon_1_1coordinate__traits_3_01coord__t_01_4_html_ae132893b60c84a8c9c2390a46db4e7b2"><div class="ttname"><a href="structboost_1_1polygon_1_1coordinate__traits_3_01coord__t_01_4.html#ae132893b60c84a8c9c2390a46db4e7b2">boost::polygon::coordinate_traits&lt; coord_t &gt;::coordinate_distance</a></div><div class="ttdeci">long double coordinate_distance</div><div class="ttdef"><b>Definition:</b> Point.hpp:174</div></div>
<div class="ttc" id="structboost_1_1polygon_1_1coordinate__traits_3_01coord__t_01_4_html_aedbe703d9e4b538ffe9200afda06badb"><div class="ttname"><a href="structboost_1_1polygon_1_1coordinate__traits_3_01coord__t_01_4.html#aedbe703d9e4b538ffe9200afda06badb">boost::polygon::coordinate_traits&lt; coord_t &gt;::manhattan_area_type</a></div><div class="ttdeci">long long manhattan_area_type</div><div class="ttdef"><b>Definition:</b> Point.hpp:171</div></div>
<div class="ttc" id="namespace_slic3r_html_a15a139c8dfb5ba5fd768cd42d888ab36"><div class="ttname"><a href="namespace_slic3r.html#a15a139c8dfb5ba5fd768cd42d888ab36">Slic3r::to_points</a></div><div class="ttdeci">Points to_points(const std::vector&lt; T &gt; &amp;items)</div><div class="ttdef"><b>Definition:</b> Point.hpp:147</div></div>
<div class="ttc" id="namespace_slic3r_html_a3a7d3ed9b7d2bb6d9b00de3b985ca408"><div class="ttname"><a href="namespace_slic3r.html#a3a7d3ed9b7d2bb6d9b00de3b985ca408">Slic3r::operator*</a></div><div class="ttdeci">Point operator*(double scalar, const Point &amp;point2)</div><div class="ttdef"><b>Definition:</b> Point.cpp:342</div></div>
<div class="ttc" id="class_slic3r_1_1_pointf_html_a9b9a2be26d429a7b4fe72e508c1eb36f"><div class="ttname"><a href="class_slic3r_1_1_pointf.html#a9b9a2be26d429a7b4fe72e508c1eb36f">Slic3r::Pointf::wkt</a></div><div class="ttdeci">std::string wkt() const</div><div class="ttdef"><b>Definition:</b> Point.cpp:354</div></div>
<div class="ttc" id="class_slic3r_1_1_point_html_a6a47d73c549b19275353d0cdc15c6dd1"><div class="ttname"><a href="class_slic3r_1_1_point.html#a6a47d73c549b19275353d0cdc15c6dd1">Slic3r::Point::ccw</a></div><div class="ttdeci">double ccw(const Point &amp;p1, const Point &amp;p2) const</div><div class="ttdef"><b>Definition:</b> Point.cpp:227</div></div>
<div class="ttc" id="class_slic3r_1_1_point_html_ab210c560e913418a9b5b2ac36804e794"><div class="ttname"><a href="class_slic3r_1_1_point.html#ab210c560e913418a9b5b2ac36804e794">Slic3r::Point::wkt</a></div><div class="ttdeci">std::string wkt() const</div><div class="ttdef"><b>Definition:</b> Point.cpp:22</div></div>
<div class="ttc" id="namespace_slic3r_html_a6b141ac7bdfc6ab718ab0bc3a44477a1"><div class="ttname"><a href="namespace_slic3r.html#a6b141ac7bdfc6ab718ab0bc3a44477a1">Slic3r::operator&lt;&lt;</a></div><div class="ttdeci">std::ostream &amp; operator&lt;&lt;(std::ostream &amp;s, const ExPolygons &amp;expolygons)</div><div class="ttdef"><b>Definition:</b> ExPolygon.cpp:529</div></div>
<div class="ttc" id="class_slic3r_1_1_pointf_html"><div class="ttname"><a href="class_slic3r_1_1_pointf.html">Slic3r::Pointf</a></div><div class="ttdef"><b>Definition:</b> Point.hpp:104</div></div>
<div class="ttc" id="class_slic3r_1_1_point3_html_a90dffe9bdb078c3f0073449374c8817c"><div class="ttname"><a href="class_slic3r_1_1_point3.html#a90dffe9bdb078c3f0073449374c8817c">Slic3r::Point3::coincides_with</a></div><div class="ttdeci">bool coincides_with(const Point3 &amp;point3) const</div><div class="ttdef"><b>Definition:</b> Point.hpp:99</div></div>
<div class="ttc" id="class_slic3r_1_1_pointf3_html_a79ffc5e80f7cc1af44e5d29843f8d6d2"><div class="ttname"><a href="class_slic3r_1_1_pointf3.html#a79ffc5e80f7cc1af44e5d29843f8d6d2">Slic3r::Pointf3::Pointf3</a></div><div class="ttdeci">Pointf3(coordf_t _x=0, coordf_t _y=0, coordf_t _z=0)</div><div class="ttdef"><b>Definition:</b> Point.hpp:133</div></div>
<div class="ttc" id="class_slic3r_1_1_pointf3_html"><div class="ttname"><a href="class_slic3r_1_1_pointf3.html">Slic3r::Pointf3</a></div><div class="ttdef"><b>Definition:</b> Point.hpp:129</div></div>
<div class="ttc" id="class_slic3r_1_1_pointf_html_a34b8f3a2a7dfea27cdf0204c5db03bfa"><div class="ttname"><a href="class_slic3r_1_1_pointf.html#a34b8f3a2a7dfea27cdf0204c5db03bfa">Slic3r::Pointf::dump_perl</a></div><div class="ttdeci">std::string dump_perl() const</div><div class="ttdef"><b>Definition:</b> Point.cpp:362</div></div>
<div class="ttc" id="class_slic3r_1_1_point_html_aba7ab94397d93d2770998e1f66fb61d8"><div class="ttname"><a href="class_slic3r_1_1_point.html#aba7ab94397d93d2770998e1f66fb61d8">Slic3r::Point::align_to_grid</a></div><div class="ttdeci">void align_to_grid(const Point &amp;spacing, const Point &amp;base=Point(0, 0))</div><div class="ttdef"><b>Definition:</b> Point.cpp:323</div></div>
<div class="ttc" id="class_slic3r_1_1_point_html_ab4bc82f724534fbe0ec48db21e34c8de"><div class="ttname"><a href="class_slic3r_1_1_point.html#ab4bc82f724534fbe0ec48db21e34c8de">Slic3r::Point::nearest_waypoint</a></div><div class="ttdeci">bool nearest_waypoint(const Points &amp;points, const Point &amp;dest, Point *point) const</div><div class="ttdef"><b>Definition:</b> Point.cpp:169</div></div>
<div class="ttc" id="class_slic3r_1_1_multi_point_html"><div class="ttname"><a href="class_slic3r_1_1_multi_point.html">Slic3r::MultiPoint</a></div><div class="ttdef"><b>Definition:</b> MultiPoint.hpp:14</div></div>
<div class="ttc" id="class_slic3r_1_1_point_html_a20ddf5c3f5c63538bff60f2e6016cf5e"><div class="ttname"><a href="class_slic3r_1_1_point.html#a20ddf5c3f5c63538bff60f2e6016cf5e">Slic3r::Point::rotated</a></div><div class="ttdeci">Point rotated(double angle) const</div><div class="ttdef"><b>Definition:</b> Point.hpp:47</div></div>
<div class="ttc" id="class_slic3r_1_1_pointf3_html_a40751c9794d7721c982c279e2b87a3f0"><div class="ttname"><a href="class_slic3r_1_1_pointf3.html#a40751c9794d7721c982c279e2b87a3f0">Slic3r::Pointf3::new_unscale</a></div><div class="ttdeci">static Pointf3 new_unscale(coord_t x, coord_t y, coord_t z)</div><div class="ttdef"><b>Definition:</b> Point.hpp:134</div></div>
<div class="ttc" id="namespace_slic3r_html_afd355e6466c54c6f2ded488c93310dfd"><div class="ttname"><a href="namespace_slic3r.html#afd355e6466c54c6f2ded488c93310dfd">Slic3r::operator-</a></div><div class="ttdeci">Point operator-(const Point &amp;point1, const Point &amp;point2)</div><div class="ttdef"><b>Definition:</b> Point.cpp:336</div></div>
<div class="ttc" id="class_slic3r_1_1_pointf_html_a9c05fa25569108093c92f949f21bdb89"><div class="ttname"><a href="class_slic3r_1_1_pointf.html#a9c05fa25569108093c92f949f21bdb89">Slic3r::Pointf::vector_to</a></div><div class="ttdeci">Vectorf vector_to(const Pointf &amp;point) const</div><div class="ttdef"><b>Definition:</b> Point.cpp:418</div></div>
<div class="ttc" id="class_slic3r_1_1_point_html_a39578926ba0e934452c4dddc1f7d7c93"><div class="ttname"><a href="class_slic3r_1_1_point.html#a39578926ba0e934452c4dddc1f7d7c93">Slic3r::Point::perp_distance_to</a></div><div class="ttdeci">double perp_distance_to(const Line &amp;line) const</div><div class="ttdef"><b>Definition:</b> Point.cpp:209</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.14
</small></address>
</body>
</html>
